﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Entidades
{
    public class EntidadPerfil : EntidadBase
    {
        private String nombre;
        private String descripcion;
        private String tecnologia;
        private String conocimientos;
        private int cantidad;
        private List<EntidadInvestigador> investigadores;
        private EntidadProyecto proyecto;
        private bool activo;

        public EntidadPerfil() { }
        public EntidadPerfil(String nombre, String descripcion, String tecnologia, String conocimientos, int cantidad, List<EntidadInvestigador> investigadores, EntidadProyecto proyecto, bool activo) 
        {
            this.nombre = nombre;
            this.descripcion = descripcion;
            this.tecnologia = tecnologia;
            this.conocimientos = conocimientos;
            this.cantidad = cantidad;
            this.investigadores = investigadores;
            this.proyecto =  proyecto;
            this.activo = activo;
        }


        public override bool esEntidadValida()
        {

            if (proyecto.Equals(null))
            {
                return false;
            }

            if (String.IsNullOrEmpty(this.nombre) || String.IsNullOrEmpty(descripcion))
            {
                return false;
            }

            return true;
        }

        //POR QUE NO SE ESTA CARGANDO INVESTIGADORES NI ESTADO??
        public override object[] obtainArray()
        {
            return new object[] { this.Id, this.Nombre, this.Descripcion, this.Tecnologia, this.Conocimientos, this.Cantidad,
            this.Proyecto.Id};
        }


        #region getset

        public String Nombre 
        {
            get { return nombre.Trim(); }
            set { nombre = value; }
        }

        public String Descripcion 
        {
            get { return descripcion.Trim(); }
            set { descripcion = value; }
        }

        public String Tecnologia 
        {
            get { return tecnologia.Trim(); }
            set { tecnologia = value; }
        }

        public String Conocimientos 
        {
            get { return conocimientos.Trim(); }
            set { conocimientos = value; }
        }

        public int Cantidad 
        {
            get { return cantidad; }
            set { cantidad = value; }
        }

        public List<EntidadInvestigador> Investigadores 
        {
            get { return investigadores; }
            set { investigadores = value; }
        }

        public EntidadProyecto Proyecto 
        {
            get { return proyecto; }
            set { proyecto = value; }
        }

        public bool Activo 
        {
            get { return activo; }
            set { activo = value; }
        }

        #endregion

    }
}
